1. Field of the Invention
The field of the present invention pertains to digital video. More particularly, the present invention relates to compression and decompression of digital encoded video data.
2. Related Art
For more than a decade, unified video encoding standards have been utilized both to allow easier, universal access to digital video data and also to allow ever-increasing fidelity to combine with ever-decreasing space requirements. Standards such as MPEG-2, the standard used for current DVD video, have been widely adopted and implemented by people throughout the world.
With the advent of the Internet age, and the adoption of many portable electronic media devices (mobile phones, portable media players, laptops, and the like), a new digital video standard was highly desirable. The new standard needed to have better video compression efficiency than previous standards, without introducing so much complexity into the standard that implementation would not be cost-effective. A combination of standards groups coordinated on this project. The result is the H.264, or Advanced Video Coding (AVC), standard.
The H.264 standard, so-called because of its ITU document number, offers numerous advantages over its predecessors. For example, the H.264 standard can achieve nearly double the compression efficiency of the older MPEG-2 standard, while offering, in some cases, dramatic improvements to picture quality and fidelity. Additionally, while considerably more complex to implement than its predecessors, improvements in technology make implementing the H.264 standard possible.
The H.264 standard has a wide variety of planned and potential applications. It has already been accepted as the standard for high-definition television in many parts of the world. A modified form of the standard, incorporating some extensions notice the Fidelity Range Extensions, is part of the defined standard for both HD and blue ray DVDs. It has applications for video telephony, many types of streaming video data, portable devices, and numerous Internet video applications.
Because of the format the standard takes, nearly every implementation will perform certain tasks. What sets various implementations apart from others is how these subtasks involved in an encoding and decoding video data are implemented.
Two common approaches to the implementation of the AVC standard have been utilized. First, the standard can be implemented fully in software. There are advantages to using software for this task. For example, a software implementation does not require any special purpose hardware; a general-purpose CPU can be utilized instead. Further, software implementations can be constructed so as to be more dynamic, such that they can be altered to fit a variety of circumstances. However, as will be discussed in greater detail below, software implementations that rely upon general-purpose CPUs are extremely inefficient.
The second common approach is to completely implement the standard as a specific piece of hardware. Specific purpose hardware is faster than a software implementation, but tends to be less dynamic.